Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a los Patrones de Diseño de Software (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com
11
Plantilla de definición
Nombre
Propósito
¿Qué hace?, ¿Cuál es su razón y propósito?, ¿Qué cuestión de diseño particular o problema aborda?
Sinónimos
Motivación
Escenario que ilustra un problema particular y cómo el patrón lo resuelve.

Monografias.com
12
Plantilla de definición
Aplicabilidad
¿En qué situaciones puede aplicarse?, ¿Cómo las reconoces?, ejemplos de diseños que pueden mejorarse.
Estructura
Diagramas de clases que ilustran la estructura
Participantes
Clases que participan y sus responsabilidades
Colaboraciones
Diagramas de interacción que muestran cómo colaboran los participantes.

Monografias.com
13
Plantilla de definición
Consecuencias
¿Cómo alcanza el patrón sus objetivos?, ¿Cuáles son los compromisos y resultados de usar el patrón?, Alternativas, Costes y Beneficios
Implementación
Técnicas, heurísticas y consejos para la implementación
¿Hay cuestiones dependientes del lenguaje?
Ejemplo de Código
Usos conocidos
Patrones relacionados

Monografias.com
14
Clasificación
Ámbito
(Gp:) Propósito
(Gp:) Estructural
(Gp:) Comportamiento
(Gp:) Creación
(Gp:) Herencia
(Gp:) Compo-
sición
(Gp:) Factory Method
(Gp:) Adapter
(Gp:) Interpreter
Template Method
(Gp:) Abstract Factory
Builder
Prototype
Singleton
(Gp:) Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
(Gp:) Chain of Responsability
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor

Monografias.com
15
¿A qué ayudan los patrones?
Encontrar clases de diseño
Especificar interfaces
“Programar hacia la interfaz, no hacia la implementación”
No declarar variables de clases concretas sino abstractas.
Patrones de creación permiten que un sistema esté basado en términos de interfaces y no en implementaciones.
Favorecen la reutilización a través de la composición en vez de la herencia

Monografias.com
16
Herencia vs. Clientela
Relación fija

Reuso “caja blanca”
Relación variable
Reuso “caja negra”
Clase abstracta
Interfaz

Monografias.com
17
¿A qué ayudan los patrones?
Utilizan bastante la delegación
Forma de hacer que la composición sea tan potente como la herencia.
Un objeto receptor delega operaciones en su delegado
Presente en muchos patrones: State, Strategy, Visitor,..
Caso extremo de composición, muestra que siempre puede sustituirse la herencia por composición.

Monografias.com
18
Delegación

Monografias.com
19
Delegación
()

Monografias.com
20
¿A qué ayudan los patrones?
La clave para la reutilización es anticiparse a los nuevos requisitos y cambios, de modo que los sistemas evolucionen de forma adecuada.
Cada patrón permite que algunos aspectos de la estructura del sistema puedan cambiar de forma independiente a otros aspectos.
Facilitan reuso interno, extensibilidad y mantenimiento.

Monografias.com
21
Causas comunes de rediseño
i) Crear un objeto indicando la clase.
ii) Dependencia de operaciones específicas
iii) Dependencia de plataformas hardware o software
iv) Dependencia sobre representación de objetos.
v) Dependencias de algoritmos
vi) Acoplamiento fuerte entre clases
vii) Extender funcionalidad mediante subclases
viii) Incapacidad de cambiar clases convenientemente

Monografias.com
22
Patrones frente a esos peligros
i) Abstract factory, Method factory, Prototype
ii) Chain of Responsability, Command
iii) Abstract factory, Bridge
iv) Abstract factory, Bridge, Memento, Proxy,
v) Builder, Iterator, Strategy, Template Method, Visitor
vi) Abstract factory, Bridge, Chain of Responsability, Command, Facade, Mediator, Observer
vii) Bridge, Chain of Responsability, Composite, Decorator, Observer, Strategy
viii) Adapter, Decorator, Visitor

Monografias.com
23
¿Cómo seleccionar un patrón?
Considera de que forma los patrones resuelven problemas de diseño
Lee la sección que describe el propósito de cada patrón
Estudia las interrelaciones entre patrones
Analiza patrones con el mismo propósito
Examina las causas de rediseñar
Considera que debería ser variable en tu diseño

Monografias.com
24
¿Cómo usar un patrón?
Lee el patrón, todos sus apartados, para coger una visión global.
Estudia la Estructura, Participantes y Colaboraciones
Mira el ejemplo de código
Asocia a cada participante del patrón un elemento software de tu aplicación.
Implementa las clases y métodos relacionados con el patrón.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter